用window.navigator.connection来检测,另外微信6.0版本以上,UA有个NetType,6.0版本以下,可以用微信私有接口WeixinJSBridge
var wifi = true;
var ua = window.navigator.userAgent;
var con = window.navigator.connection;
// 如果是微信
if(/MicroMessenger/.test(ua)){
// 如果是微信6.0以上版本,用UA来判断
if(/NetType/.test(ua)){
if(ua.match(/NetType\/(\S*)$/)[1] != 'WIFI'){
wifi = false;
}
// 如果是微信6.0以下版本,调用微信私有接口WeixinJSBridge
}else{
document.addEventListener("WeixinJSBridgeReady",function onBridgeReady(){
WeixinJSBridge.invoke('getNetworkType',{},function(e){
if(e.err_msg != "network_type:wifi"){
wifi = false;
}
});
});
}
// 如果支持navigator.connection
}else if(con){
var network = con.type|| con.effectiveType;
if(network != "wifi" && network != "2" && network != "unknown"){
// unknown是为了兼容Chrome Canary
wifi = false;
}
}
window.networkWIFI = wifi;
附加
判断是否小程序
window.__wxjs_environment=='miniprogram'||window.globalEvn=='miniprogram'
// 是否是微信浏览器
isWeixin () {
let ua = navigator.userAgent.toLowerCase()
if (ua.match(/MicroMessenger/i) === 'micromessenger') {
return true
} else {
return false
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。